
. TIC-TAC-DOUGH

   1 .
   2 . TIC-TAC-DOUGH
   3 . BY ROB ROSENHOUSE
   4 . FOR SUPER SOFTWARE
   5 .
   6 . (C) 1980
   7 .
   8 .
   9 :RETURN ;NT=0;CLEAR ;BC=50;FC=125;GOSUB 10000
  10 FOR A=-30TO 30STEP 30;FOR B=30TO -30STEP -30
  20 FOR C=2TO 26STEP 2;BOX A,B,C,C,3;NEXT C;NEXT B;NEXT A
  25 GOSUB 11000
  30 BOX 0,0,88,88,3
  40 W=0;L=0;T=0
  50 V=0
 100 CY=8;CX=-80;PRINT " $$$$";CY=-8;CX=-80;PRINT " $$$$"
 110 CY=0;CX=-80;PRINT " ",#0,T
 120 &(21)=23;FOR A=100TO 10STEP -2;&(19)=A;NEXT A;&(19)=0;&(21)=0
 200 K=KP;K=K-48
 210 NT=3;MU="Q";NT=0;IF (K<1)+(K>9)GOTO 200
 215 IF @(K+10)=1GOTO 200
 216 @(K+10)=1
 217 GOSUB 220;GOTO 290
 220 IF (K=1)+(K=2)+(K=3)CY=30
 230 IF (K=4)+(K=5)+(K=6)CY=0
 240 IF (K=7)+(K=8)+(K=9)CY=-30
 250 IF (K=1)+(K=4)+(K=7)CX=-30
 260 IF (K=2)+(K=5)+(K=8)CX=0
 270 IF (K=3)+(K=6)+(K=9)CX=30
 280 X=CX;Y=CY
 285 RETURN 
 290 FOR B=1TO 2
 300 &(21)=23;FOR C=2TO 26STEP 2;&(19)=C×4;BOX X,Y,C,C,3;NEXT C;NEXT B
 310 FOR C=2TO 26STEP 2;&(19)=C×4;BOX X,Y,C,C,2;NEXT C;&(19)=0;&(21)=0
 320 X=X-7;CX=X
 330 GOSUB 900+@(K)×10
 400 IF W=2GOTO 500
 410 IF L=1GOTO 800
 420 CY=0;CX=-80;PRINT " ",#0,T
 430 IF T>=1000GOTO 500
 440 GOTO 120
 500 &(21)=31;FOR A=150TO 10STEP -1;&(19)=A;NEXT A;&(21)=0;&(19)=0
 510 FOR A=30TO -30STEP -30;FOR B=-30TO 30STEP 30;CY=A;CX=B-7;BOX B,A,26,26,2;PRINT "WIN",;NEXT B;NEXT A
 520 FOR A=1TO 2500;NEXT A
 600 FOR K=1TO 9;GOSUB 220
 610 BOX X,Y,26,26,2
 620 X=X-7;CX=X;CY=Y;GOSUB 900+10×@(K)
 630 NEXT K
 700 FOR A=1TO 1500;NEXT A
 710 FOR A=2TO 88STEP 2;BOX 0,0,A,A,2;NEXT A
 715 CY=0;CX=-80;PRINT "     ",
 720 GOSUB 10000
 730 GOTO 10
 800 &(21)=31;&(19)=150;FOR A=1TO 750;NEXT A
 805 FOR A=30TO -30STEP -30;FOR B=-30TO 30STEP 30;CY=A
 806 CX=B-8
 807 BOX B,A,26,26,2;PRINT "LOSE",;NEXT B;NEXT A
 810 &(21)=0;&(19)=0;GOTO 600
 910 PRINT "100",;T=T+100;RETURN 
 920 PRINT "150",;T=T+150;RETURN 
 930 PRINT "200",;T=T+200;RETURN 
 940 PRINT "250",;T=T+250;RETURN 
 950 PRINT "350",;T=T+350;RETURN 
 960 PRINT "400",;T=T+400;RETURN 
 970 PRINT "TIC",;W=W+1;RETURN 
 980 PRINT "TAC",;W=W+1;RETURN 
 990 PRINT "***",;L=1;RETURN 
10000 FOR A=1TO 9;@(A)=0;@(A+10)=0;NEXT A
10005 CY=0;CX=-80;PRINT " WAIT
10010 FOR A=1TO 9
10020 N=RND (9);IF @(N+10)=1GOTO 10020
10030 @(A)=N;@(N+10)=1
10040 NEXT A;FOR A=1TO 9;@(A+10)=0;NEXT A
10050 CY=0;CX=-80;PRINT "     "
10060 RETURN 
11000 N=0;FOR B=30TO -30STEP -30;FOR A=-30TO 30STEP 30
11005 N=N+1
11010 CX=A;CY=B;PRINT #0,N,;NEXT A;NEXT B;RETURN 
